#version 450
layout(location = 0) in vec3 aPosition;   
layout(location = 1) in vec2 aTexCoord;
layout(location = 2) in vec3 aNormal;
layout(location = 3) in vec3 aTangent;
//layout(location = 4) in vec3 aColor;

layout (std140, binding = 0) uniform bufferVals {
    mat4 model;
    mat4 view;
    mat4 perspective;
};


layout (location = 0)out vec2 TexCoord;
layout (location = 1)out vec3 Normal;
layout (location = 2)out vec3 FragPos;
layout (location = 3)out vec3 Tangent;  
//layout (location = 4)out vec3 Color;
//layout (location = 5)out vec3 ViewPos;


void main()                                
{
  FragPos =  mat3(model) * aPosition;
  Normal =  mat3(model) * aNormal;
  Tangent = aTangent;
  TexCoord = aTexCoord;
  gl_Position =  perspective * view * model * vec4(aPosition,1.0);  

}